---
title: "Race bloc analysis"
author:
  - "Cole Tanigawa-Lau"
date: ""
output:
  html_document:
    df_print: paged
    toc: yes
    toc_depth: 2
    toc_float: no
    theme: paper
editor_options:
  chunk_output_type: inline
---

```{r setup, include = FALSE}
knitr::opts_knit$set(root.dir = here::here())
```

```{r about, echo=FALSE, results = "asis"}
cat(
  sprintf("Updated: %s.",
          format(Sys.time(), "%b %d, %Y at %H:%M:%S", usetz = TRUE)),
  sprintf("Working directory: `%s`.", getwd()),
  sep = "\n\n"
)

tictoc::tic()
```


Reads:

  - data/census_clean.fst
  - data/cps_clean.fst
  - data/anes_clean.rds

Writes:

  - data/vbdf_race.rds
  - docs/figs/race_arrange

# Setup
```{r packages, warning=FALSE, message=FALSE}
# devtools::install_github("coletl/blocs")
library(blocs)

library(fst)
library(dplyr)

library(ggplot2)
# library(ggpubr)
```

## Covariate to define blocs
```{r}
vb_tag <- "census"
covariate <- "race"
```

## Load data
```{r load data}
# Census
density    <- read_fst("data/census_clean.fst",
                       columns = c(covariate, "year", "weight", "age"),
                       as.data.table = TRUE)
# CPS
turnout    <- read_fst("data/cps_clean.fst",
                       columns = c(covariate, "voted", "year", "weight", "age"),
                       as.data.table = TRUE)

# ANES
votechoice <- readRDS("data/anes_clean.rds")

resamples <- c(density = 0, turnout = 1e4, vote = 1e4)
```

```{r child_setup, child = "code/vb_child_setup.Rmd"}
```


# Voting bloc analysis
See preprocessing scripts for notes on data coverage.

Use just one core to cut down on memory usage. Too costly to resample the ACS data.
```{r}
cores <- 1
```

```{r child_analysis, child = "code/vb_child_analysis.Rmd"}
```

# Plots {.tabset}

```{r child = "code/vb_child_plots.Rmd"}
```


# Export
```{r}
saveRDS(vbdf, "data/vbdf_race_aaa.rds")
```



# Timing
```{r}
tictoc::toc()
```

```{r}
resamples
```
```{r}
sessionInfo()
```
